#ifndef STRAY_MEMORY_OBJECT_H
#define STRAY_MEMORY_OBJECT_H

#include <new>

namespace Stray {

class MemoryObject
{
protected:
	MemoryObject()
	{
	}

	virtual ~MemoryObject()
	{
	}
public:
	void* operator new(size_t size);
	void* operator new(size_t size, void* p);
	void operator delete(void* p);
	void operator delete(void* p, void* arg);
	void* operator new[](size_t size);
	void operator delete[](void* p);
};

}

#endif